package com.crm.model.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @version 1.0
 * @author: CRM_SYSTEM
 * @date: 2022/4/1 15:38
 * @Description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProjectBo implements Serializable {
    @ApiModelProperty("主键")
    private Long id;

    /**
     * 项目编号
     */
    @ApiModelProperty("项目编号")
    private String projectCode;

    /**
     * 项目编号
     */
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 项目描述
     */
    @ApiModelProperty("项目描述")
    private String projectDescribe;

    /**
     * 项目类型：100001=培训服务 100002=体能测试
     */
    @ApiModelProperty("项目类型：100001=培训服务 100002=体能测试")
    private Integer projectType;

    /**
     * 关联场地id
     */
    @ApiModelProperty("关联场地id")
    private Long siteId;

    /**
     * 关联场地名称
     */
    @ApiModelProperty("关联场地名称")
    private String siteName;


    /**
     * 预约开始时间
     */
    @ApiModelProperty("预约开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime orderStarterTime;

    /**
     * 预约结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("预约结束时间")
    private LocalDateTime orderEndTime;

    /**
     * 项目开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("项目开始时间")
    private LocalDateTime projectStarterTime;

    /**
     * 项目结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("项目结束时间")
    private LocalDateTime projectEndTime;

    /**
     * 最多可预约人数
     */
    @ApiModelProperty("最多可预约人数")
    private Integer maxNumber;
//
//    /**
//     * 当前容量
//     */
//    @ApiModelProperty("当前容量")
//    private Integer currentNumber;
//
//    /**
//     * 预约人数是否已满 0=否 1=是
//     */
//    @ApiModelProperty("预约人数是否已满 0=否 1=是")
//    private Integer isFullNumber;
//
//    /**
//     * 状态 0=禁用 1=启用  2=初始化
//     */
//    @ApiModelProperty("状态 0=禁用 1=启用  2=初始化")
//    private Integer projectStatusCode;
//
//    /**
//     * 状态名称 0=禁用 1=启用
//     */
//    @ApiModelProperty("状态名称 0=禁用 1=启用  2=初始化")
//    private String projectStatusName;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime gmtCreate;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String byCreate;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    private LocalDateTime gmtModified;

    /**
     * 更新人
     */
    @ApiModelProperty("更新人")
    private String byModified;

    @ApiModelProperty("服务项目名称小项")
    private List<ProjectItemBo> projectItemBoList;

}
